Stepper motors are widely used in application requiring accurate position control and compatibility with digital systems. Electrical pulses of suitable amplitude and pulse width are supplied to the stepper motor to advance the motor by a predetermined distance for each pulse. One advantage of stepper motors is that the motor position can be determined by counting the pulses applied to it.
Stepper motors have a torque-speed characteristic wherein torque decreases as speed increases. Stepper motor acceleration and deceleration times have been undesirably long due in part to the nature of the available torque characteristic of the motor. In an attempt to counteract this problem, stepper motors have been accelerated and decelerated in accordance with a predetermined velocity profile, or velocity variation as a function of time. However, these methods do not always exploit the full drive capability of the stepper motor, thereby causing the motor to take more time to move a specified distance.
It would, therefore, be highly desirable to provide a method for generating a stepper motor ramp for controlling the times between electrical pulses supplied to the motor for advancing the motor which method exploits the full drive capability of the stepper motor and accelerates the motor as fast as possible while maintaining a torque safety factor and/or safety margin.